El entorno de operadores de Julia está diseñado para reflejar la notación matemática, cerrando la brecha entre las matemáticas formales y el cómputo de alto rendimiento mediante un rico conjunto de símbolos ASCII y símbolos Unicode.
1. Fundamentos aritméticos
Más allá de los operadores binarios estándar, Julia proporciona formas unarias ($+x, -x$) y división especializada. Entre sus características destacadas se encuentra la división inversa ($x \backslash y$), que es equivalente a $y / x$, y el operador de resto ($x \% y$), equivalente a rem(x,y).
- $+x, -x$ (unario)
- $x + y, x - y, x * y$
- $x / y$ (división)
- $x \div y$ (división entera)
- $x \backslash y$ (inversa)
- $x ^ y$ (potencia)
- $x \% y$ (resto)
- $\sim x$ (negación bit a bit)
- $x \& y$ (AND)
- $x | y$ (OR)
- $x \veebar y$ (XOR / ⊻)
- $x >>> y$ (desplazamiento lógico)
- $x >> y$ (desplazamiento aritmético)
- $x << y$ (desplazamiento izquierdo)
2. Precisión y tipos
Negación lógica !x es estrictamente para valores booleanos, mientras que la tilde ($\sim$) sirve como negación bit a bit para enteros. Una sutileza crítica es conciencia de tipo; aplicar $\sim$ a un UInt8 vs. un UInt32 produce resultados hexadecimales diferentes porque las operaciones se realizan sobre el ancho de bits específico del tipo subyacente.